#include "Shader.hpp"
#include "GL/glew.h"
#include "GL/glfw.h"

#ifndef TEXTURE_HPP
#define TEXTURE_HPP
class Texture
{
	private:
	GLuint tex;
	GLuint tex_depth;
	GLuint fbo;
	GLuint rbo;

	protected:
	public:
	void Bind();
	void RenderTo();
	void RenderToScreen(const Shader& sh);
	void RenderToScreen();
	void RenderToTexture(const Shader& sh, Texture& textureIn);
	void CopyToTexture(Texture& texture);
	GLuint GetTexture(){return tex;}
	static void Unbind();
	static void Blend(Texture& Sharp, Texture& Blurred, Texture& Target, Shader& BlendShader);
	Texture(unsigned int width, unsigned int height);
};
#endif
